Echo control system

ABSTRACT

An echo control system for an adaptive echo canceller which cancels an echo signal while successively estimating the transmission characteristic of an echo path by the use of a received signal and the echo signal, comprising means using the received signal of a predetermined duration for obtaining an autoregression coefficient in a case of using the received signal as the output of an autoregressive model, means for obtaining a difference signal between a predicted value of the received signal produced by using the autoregression coefficient and the received signal, means for obtaining a difference signal between a predicted value of the echo signal produced by using the autoregression coefficient and the echo signal, a memory for storing the estimated transmission characteristic of the echo path, and a corrector for correcting the content of the memory following an identification method by learning. The content of the memory is successively corrected by the corrector on the basis of the difference signal of the received signal and the difference signal of the echo signal. An echo replica is produced using the successively corrected estimated transmission characteristic and is used to subtract it from the true echo signal, thereby cancelling the echo signal.

FIELD OF INVENTION

This invention relates to an adaptive echo canceller which cancels anecho signal which successively estimating the transmissioncharacteristic of an echo path by the use of a received signal and theecho signal.

BACKGROUND OF THE INVENTION

An echo is a long delay telephone circuit, such as a satellitecommunication circuit or the like, causes marked degradation of thespeech quality. An echo suppressor now in use effectively suppresses anecho but has a defect such that degradation of the speech quality, suchas speech interruptions, echos during overlapped talking, etc., is inprinciple unavoidable; therefore, an echo canceller gets much attentionas a new echo suppressor. The principle of the echo canceller is toestimate the transmission characteristic of an echo path by the use of areceived signal and an echo signal, to produce an echo replica on thebasis of the estimation result and to subtract it from the true echosignal, thereby cancelling an echo.

The algorithm for the estimation of the transmission characteristic ofthe echo path in the conventional echo canceller is mainly based on alearning identification method; but, with this system, in a case ofusing a voice signal as the input signal, the convergence time is longso that the cancelled amount of an echo signal is insufficient due tohigh correlation in comparison with those in a case of using white noiseas the input.

SUMMARY OF THE INVENTION

An object of this invention is to provide an echo control system inwhich the convergence time is shortened so that the cancelled amount ofan echo signal is greatly increased in comparison with that inconventional systems.

In accordance with this invention, a received signal for eachpredetermined time interval is used to obtain an autoregressioncoefficient which is optimum in terms of a square error in a case ofusing the received signal as an output of an autoregressive model. Adifference signal between a predicted value of the received signalobtained using the autoregression coefficient and the received signal isprovided in addition to a difference signal between a predicted value ofan echo signal obtained using the autoregression coefficient and theecho signal. The transmission characteristic of an echo path issuccessively estimated on the basis of the difference signals of thereceived signal and the echo signal. An echo replica is produced usingthe successively estimated transmission characteristic and is used tosubtract it from the true echo signal, thereby to cancel the echo. Withthe echo control system of this invention, a suitable selection of thedegree of the autoregressive model permits making the difference signalof the received signal white.

BRIEF DESCRIPTION OF DRAWING

This invention will be hereinafter described in details with referenceto the accompanying drawing, in which:

FIG. 1 is a block diagram showing an embodiment of an echo canceller ofthis invention;

FIG. 2 is a diagram showing in detail an example of a predictor for usein this invention;

FIG. 3A is a diagram illustrating in detail a regression coefficientcalculator for use in this invention;

FIGS. 3B and 3C are diagrams explanatory of the operation of thepredictor shown in FIG. 3(A);

FIG. 4 is a characteristic diagram showing the results of simulation forthe comparison of this invention in performance with a conventionalsystem; and

FIG. 5 is a block diagram illustrating another embodiment of thisinvention.

DESCRIPTION OF PREFERRED EMBODIMENTS

For ready understanding this invention, the operation principle of thisinvention will first be described in comparison with a coventionalmethod using a Kalman filter.

As an algorithm for successive estimation steps for the transmissioncharacteristic of the echo path through the use of the received signaland the echo signal, there are the aforementioned learningidentification method and a method employing a Kalman filter. In a caseof using the Kalman filter, the following form is established. That is,a deviation of the echo path is regarded as a noise W_(j) forconvenience' sake and the status equation of the echo path is expressedas follows:

    |h.sub.j+l =|h.sub.j +W.sub.j

where W_(j) is an N-dimensional vector. Similarly, on the assumptionthat a noise v_(j) is additively superimposed on the residual signal ofan echo signal observed at a time moment j, it is expressed as follows:

    y.sub.j =x.sub.j.sup.T ·|h.sub.j +V.sub.j

As it is said that steady noises in communication circuits are mostlynormal white noises, let it be assumed, for the sake of brevity, thatthe noises W_(j) and v_(j) are normal white noises which are independentof each other and zero in mean value and have a constant variance. If aKalman filter is used with the above |h_(j) regarded as a status vectoron the above assumption, the status vector |h_(j) can successively beestimated and, by using the estimated value h_(j), the following echoreplica can be generated: ##EQU1## In this case, the estimated valueh_(j), a variance-covariance matrix p_(j) and a Kalman gain k_(j) areexpressed as follows: ##EQU2##

In a case of using the present invention, the residual signal x_(j) ofthe received signal is regarded as substantially white; therefore, it isalso possible to use only the diagonal element of thevariance-covariance matrix p_(j) in the above equations. Incidentally,in a case of employing the Kalman filter, the amount of calculation isvery large to introduce difficulty in the arrangement of hardware in thecase of using the Kalman filter. Further, in a case of using only thediagonal element of the variance-covariance matrix of the Kalman filter,the amount of calculation is very small as compared with that in thecase of using the Kalman filter itself but is about twice that in a caseof the learning identification method.

The present invention adopts the learning identification method as analgorithm for estimation instead of using the Kalman filter having suchdefects as mentioned above.

With reference to the drawings, the present invention will hereinafterbe described in detail but, for convenience of explanation, a differencesignal between a true signal and an estimated value will hereinbelow bereferred to as a residual signal.

FIG. 1 illustrates an embodiment of an echo canceller embodying thisinvention. Reference numeral 1 indicates an echo canceller; 2 designatesan input terminal of the receiving side; 3 identifies an output terminalof the transmitting side; 4 denotes an output terminal of the receivingside; 5 represents an input terminal of the transmitting side; 6 shows ahybrid coil; 7 refers to a terminal equipment, such as a telephone setor the like; 8 indicates a regression coefficient calculator; 9designates a register; 10 identifies a predictor; 11 denotes asubtractor; 12 represents a register; 13 shows a convolution calculator;14 refers to a predictor; 15 and 16 indicate subtractors; 17 designatesa corrector; 18 identifies a register; 19 denotes an adder; and 20represents a subtractor. For the sake of brevity, it is assumed that asignal in the echo canceller 1 has the digital form and that though notshown in FIG. 1, clock pulses are supplied to respective parts.

The operation of the echo canceller will be described in the order ofthe reference numerals. A received signal from the input terminal 2 ofthe receiving side is applied to the terminal equipment 7 via the outputterminal 4 of the receiving side and the hybrid coil 6; but a part ofthe received signal is supplied as an echo signal to the input terminal5 of the transmitting side via the hybrid coil 6. In the echo canceller1, a received signal x_(j) is applied to the regression coefficientcalculator 8 and, at the same time, to the predictor 10 after beingdelayed by the register 9 for a certain period of time. The regressioncoefficient calculator 8 provides regression coefficients a₁, a₂, . . .a_(M) using a received signal x=(x₁, x₂, . . . x_(L)) in a predeterminedperiod of time. The algorithm employed therefore is based on, forexample, the method of Durbin (Durbin, J. (1960). The fitting oftime-series models, Rev. Inst. Stat., 28, 233-244). That is, if ##EQU3##under the following initial conditions: ##EQU4## the regressioncoefficients are recurrently obtained as follows: ##EQU5## Theregression coefficient calculator 8 may be lower in processing speedthan the other parts and hence can be arranged mainly with amicroprocessor. The regression coefficients a₁, a₂, . . . a_(M)respectively correspond to a₁.sup.(M), a₂.sup.(M), . . . a_(M).sup.(M)of the equations (4) and (5).

The regression coefficient a=(a₁, a₂, . . . a_(M)) obtained in theregression coefficient calculator 8 is transferred to the predictors 10and 14. The predictor 10 produces ##EQU6## as the predicted value x_(j)of the received signal at the time moment j using the regressioncoefficient a and the received signal provided via the register 9.

The predictor 10 is constructed as shown in FIG. 2, which shows a caseof M=5. Reference numerals 101, 102, 103, 104 and 105 indicate delayelements; 111, 112, 113, 114 and 115 designate multipliers; and 120identifies an adder.

The output x_(j) from the predictor 10 is transferred to the subtractor11. On the basis of the received signal x_(j) and the output x_(j) fromthe predictor 10, the subtractor 11 produces a residual signal x_(j)=x_(j) -x_(j), which is transferred to the register 12. The signal x_(j)=(x_(j-1), x_(j-2), . . . x_(J-N)) in the register 12 and a signal|h=(h₁, h₂, . . . h_(N)) in the register 18 are applied to theconvolution calculator 13 to effect a convolution calculation ##EQU7##and the calculation result ##EQU8## is transferred to the subtractor 16.

The echo signal applied via the input terminal 5 of the transmittingside is applied to the predictor 14 and the subtractor 20. Using theregression coefficient a transferred from the regression coefficientcalculator 8 and the echo signal y_(j), the predictor 14 provides##EQU9## as the predicted value y_(j) of the received signal and appliesthe predicted value to the subtractor 15. In the subtractor 15, aresidual signal y_(j) =y_(j) -y_(j) is produced by the echo signal y_(j)and the output y_(j) from the predictor 14 and is transferred to thesubtractor 16. In the subtractor 16, an error signal e_(j) =y_(j) -y_(j)is produced by the signal y_(j) from the subtractor 15 and the signaly_(j) from the convolution calculator 13 and is transferred to thecorrector 17. Using the error signal e_(j) and the signal x_(j)=(x_(j-1), x_(j-2), . . . x_(j-N)) in the register 12, the corrector 17corrects the value |h_(j) =(h₁, h₂, . . . h_(M)) in accordance with thefollowing algorithm of the learning identification method (refer to J.Nagumo and A. Noda: "A learning method for system identification", IEEETrans., AC-12, 3, P. 282 (June 1976)): ##EQU10## In the equation (7),|h_(j) represents the value in the register 18 before correction and|h_(j+1) the value in the register 18 after correction. The notation αtakes an arbitrary value, 0<α<2, but usually α=1.

The output y_(j) transferred from the predictor 14 to the adder 19 isadded to the output y_(j) from the convolution calculator 13 and theadded output, y_(j) ^(p) =y_(j) +y_(j), is transferred to the subtractor20. In the subtractor 20, the output from the adder 19 is substractedfrom the echo signal y_(j), and the resulting error, e=y_(j) -y_(j)^(p), is sent out via the output terminal 3 of the transmitting side. Inthis case, when the signal in the register 18 becomes identical with thetransmission characteristic of the echo path, the error e is reduced tozero and an echo signal to the talking party is cancelled.

In FIG. 1, if the regression coefficients a from the regressioncoefficient calculator 8 are all forced to be zero, the outputs from thepredictors 10 and 14 become zero and the subtractors 11 and 15 providethe received signal x_(j) and the echo signal y_(j), respectively; thisis identical in construction with the prior art echo canceller. Sincethe arrangements of the predictors 10 and 14 are already described, adetailed description will be given next of the regression coefficientcalculator 8.

FIG. 3(A) illustrates an example of the regression coefficientcalculator 8. In FIG. 3A, reference numeral 201 indicates aserial-parallel signal converter; 202 and 203 designate registers; 204identifies a flip-flop; 205 denotes an adder; 206 represents amultiplier; 207 shows a gate; 208 refers to an accumulator; 209indicates a constant multiplier; 210 designates a register; 211identifies a flip-flop; 212, 213 and 214 denote counters; 216 representsa gate; 217 shows a memory; and 218 refers to a microprocessor. Theoperation of the illustrated example will be given in the order of thereference numerals. The received signal x_(j) supplied from the inputterminal 2 of the receiving side is transferred to the serial-parallelsignal converter 201 and when an L number of signals have been stored inthe serial-parallel signal converter 201, the signals are transferred tothe registers 202 and 203 and the flip-flop 204. The signals of theregisters 202 and 203 and the flip-flop 204 circulate therein insynchronism with one another, by which a signal x_(j) x_(j) is derivedfrom the multiplier 206 and transferred to the accumulator 208. Theaccumulator 208 obtains an accumulated value ##EQU11## of the signalx_(j) x_(j) from the multiplier 206. The counter 212 provides a signalfor each L number of clock pulses to apply the content of theaccumulator 208 to the constant multiplier 209. In the constantmultiplier 209, the value, ##EQU12## from the accumulator 208 ismultiplied by a constant (1/L) and the multiplied output is applied tothe register 210. A pulse from the counter 212 is applied to themicroprocessor 216 via its interrupt line to direct it to read thesignal stored in the register 210. In response to this instruction, themicroprocessor 216 stores the signal of the register 210 in the memory217 at a specific address by an ordinary computer operation.

On the other hand, the counter 213 generates a pulse for each (L+1)number of clock pulses, so that the flip-flop 211 assumes the state "1"during respective one, two, three, . . . clock pulses following the timeof each of successive L-th clock pulses, as shown in FIG. 3B, and inthis while the gate 207 is closed. In FIG. 3B, reference numeral 300shows clock pulses, 301 the output pulses from the counter 212, 302 theoutput pulses from the counter 213, and 303 the state of the flip-flop211. As a consequence, the signals in the register 203 are eachdisplaced one by one relative to the signals in the register 202 foreach L number of clock pulses, as shown in FIG. 3C. In FIG. 3C,reference numeral 400 indicates the signals in the register 202, while401, 402 and 403 show the signals in the register 203 after occurrenceof L, 2L and 3L number of clock pulses, respectively. As a result ofthis, signals, ##EQU13## are successively transferred to the register210 as is the case with the foregoing. When having counted M pulses fromthe counter 212, the counter 214 closes the gate 216, so that M pulsesin the register 210 are read out by the microprocessor 216 to the memory217.

The microprocessor 216, using the data stored in the memory 217 from theregister 210, produces a₁.sup.(M), a₂.sup.(M), . . . a_(M).sup.(M) inaccordance with software formed to comply with the equations (1), (2),(3), (4), (5) and (6 ) and transfers them to the predictors 10 and 14.

It is also possible to provide a gate at the input side of theserial-parallel signal converter 201 by which only L of LN receivedsignals are applied to the serial-parallel signal converter 201. In thisinstance, the regression coefficient a obtained from the L receivedsignals is applied to the LN signals but, by the suitable determinationof LN and L on the basis of the quasisteadiness of the received signalx_(j), it is possible to obtain substantially the same effort as in acase of obtaining the regression coefficient a for all of the receivedsignals.

In a case of employing this invention, the convergence speed of the echocanceller is raised and the cancelled amount of an echo signal is alsoincreased, as compared with those in the conventional system. FIG. 4shows the results of simulation for the comparison of this inventionwith the conventional system. In FIG. 4, C₁ indicates a case of theconventional system, C₂ a case of the degree of the autoregressive modelbeing 16 according to this invention and C₃ a case where the degree ofthe autoregressive model was set to M minimizing FPE, described later,for each receiption of a signal of a predetermined time length. Theabovesaid conventional system indicates a case of using the learningidentification method, that is, a case in which the regressioncoefficient a is made 0 so that the transmission characteristic of theecho path is estimated by using the received signal x_(j) =(x_(j-1),x_(j-2), . . . x_(j-N)) and the echo signal y_(j) in place of x_(j)=(x_(j-1), x_(j-2), . . . x_(j-N)) and y_(j). The abscissa in FIG. 4represents the number of times of repetition and, in this case, sincethe sampling interval is 125 μs, 400 and 1000 repetitions correspond,respectively, to 500 milli-seconds and 100 milli-seconds. The ordinaterepresents the degree (ERLE) of improvment of echo return loss. ERLEindicates the degree of suppression of the error signal e relative tothe echo signal y and the larger the value of ERLE is, the larger thecancelled amount of an echo signal is, which indicates excellentperformance of the echo canceller. In FIG. 4, ERLE is larger than thatin the conventional system in excess of 10 dB; therefore, the errorsignal is less than 1/10 that in the convention system.

Even if the degree of the autoregressive model of the received signal isfixed in advance, performance can be enhanced appreciably as comparedwith that of the prior art system but since the property of the receivedsignal is not known in advance, it is desirable to obtain an optimumvalue by changing the degree of the model for each received signal of aconstant duration. There have been known several methods for determiningthe degree of the model; but, from the practical point of view, such asthe amount of calculation steps, etc., such a system is excellent inwhich the value minimizing the final predicted error (FPE) is the degreeof the model. Further, the simulation results of FIG. 4 show that thesystem employed FPE is larger in the cancelled amount of an echo signaland high in convergence speed. What is meant by FPE(M) is the valuegiven by ##EQU14## where E.sup.(M) is the same as the equation (6).(Refer to Akaike: "Fitting autoregressive models for prediction", Ann.Inst. Statist. Math., 21, 243-247).

With reference to FIG. 5 showing another embodiment of this invention,the same parts as those in the embodiment shown in FIG. 1 are indicatedby the same reference numerals. In this embodiment, a register 22, aconvolution calculator 23 and a subtractor 24 are employed, while theregister 9, the adder 19 and the subtractor 20 are removed from theembodiment shown in FIG. 1.

In the embodiment shown in FIG. 5, the contents of the register 18 aresimilarly corrected as the operation of the embodiment shown in FIG. 1.

The received signals are successively stored in the register 22, whilethe signals stored in the register 22 are convolution-calculated in theconvolution calculator 23 with the stored signals of the register 18, sothat an echo replica is applied from the convolution calculator 23 tothe substractor 24. Other operations are similarly carried out as thosein the embodiment shown in FIG. 1.

The embodiment shown in FIG. 5 has the following merits in comparisonwith the embodiment shown in FIG. 1:

(1) A signal delay in the register 9 inserted in the main path betweenthe terminals 2 and 4 can be eliminated.

(2) If the echo canceller 1 is fault, the signal can be transferredthrough the main path of the receiving side.

As has been described in the foregoing, the present invention greatlyenhances the performance of the echo canceller, such as the cancelledamount of an echo signal and the convergence speed, only by a littleincrease in the amounts of calculation steps and in the hardware usedand also enables the removal of a center clipper and like accessoriesemployed in conventional echo cancellers.

Although the foregoing embodiment has been described in connection witha case of employing the successive learning identification method as thealgorithm for the estimation of the transmission characteristic of anecho path, the present invention is also applicable to a case of usingan algorithm following an identification method by learning except acase of employing a Kalman filter, as described previously.

What we claim is:
 1. In an echo control system for an adaptive echocanceller which cancels an echo signal while successively estimating thetransmission characteristic of an echo path by the use of a receivedsignal to a receiving path and the echo signal passing the echo pathfrom the receiving path and a transmission path,the improvementcomprising: first means connected to the receiving path for developingfrom the received signal for each of successive predetermined durationsan autoregression coefficient in a case of using the received signal asthe output of an autoregressive model, second means connected to thereceiving path and the first means for developing a first differencesignal between the received signal and a predicted value of the receivedsignal obtained by the use of the autoregression coefficient, thirdmeans connected to the first means and the transmission path fordeveloping a second difference signal between the echo signal and apredicted value of the echo signal produced by the use of theautoregression coefficient, fourth means operatively connected to thesecond means and the third means for storing the estimated transmissioncharacteristic of the echo path, fifth means operatively connected tothe second means, the third means and the fourth means for successivelycorrecting the contents of the fourth means in accordance with anidentification method by learning by the use of the first differencesignal and the second difference signal, sixth means connected to thefourth means for developing an echo replica, and seventh means insertedin the transmission path and connected to the sixth means forsubtracting the echo replica from the echo signal to substantiallycancel the echo signal.
 2. An echo control system according to claim 1,wherein the degree of the autoregressive model is changed within apredetermined range of values in accordance with the property of thereceived signal.
 3. An echo control system according to claim 1, whereinthe degree of the autoregressive model is selected to be a valueminimizing a final predicted error within a predetermined range ofvalues.
 4. An echo canceller according to claim 1, wherein said sixthmeans is connected to the third means for developing the echo replica bythe use of the predicted value of the echo signal.
 5. An echo cancelleraccording to claim 1, wherein said sixth means is connected to thereceiving path for developing the echo replica by the use of thereceived signal.